7 research outputs found
Analogy-Making as a Core Primitive in the Software Engineering Toolbox
An analogy is an identification of structural similarities and
correspondences between two objects. Computational models of analogy making
have been studied extensively in the field of cognitive science to better
understand high-level human cognition. For instance, Melanie Mitchell and
Douglas Hofstadter sought to better understand high-level perception by
developing the Copycat algorithm for completing analogies between letter
sequences. In this paper, we argue that analogy making should be seen as a core
primitive in software engineering. We motivate this argument by showing how
complex software engineering problems such as program understanding and
source-code transformation learning can be reduced to an instance of the
analogy-making problem. We demonstrate this idea using Sifter, a new
analogy-making algorithm suitable for software engineering applications that
adapts and extends ideas from Copycat. In particular, Sifter reduces
analogy-making to searching for a sequence of update rule applications. Sifter
uses a novel representation for mathematical structures capable of effectively
representing the wide variety of information embedded in software. We conclude
by listing major areas of future work for Sifter and analogy-making in software
engineering.Comment: Conference paper at SPLASH 'Onward!' 2020. Code is available at
https://github.com/95616ARG/sifte
A Framework for Evaluating Qualitative Research Methods in Computer Programming Education
Abstract. This work-in-progress paper 1 examines in detail the issue of qualitative research method evaluation. In particular, it focuses on method evaluation from the perspective of Computer Science education research. To this end, it presents the reader with an evaluative framework. The key issue underlying the development of this framework is pragmatism, i.e. one that provides the researcher with a simplistic and context-specific evaluation technique. In terms of simplicity, it proposes a broadbrush approach to evaluation where approximation is used and based on a number of evaluative criteria. In addition, the framework is based on a set of properties that may be construed as pragmatic, in terms of them reflecting issues of real importance to a researcher, who is attempting to decide on which qualitative method to use in a given context. An example of framework utilisation is then presented with respect to the Grounded Theory research method in the context of computer science education research. This entails a multiple-litmus type test on the Grounded Theory research method where measurements are presented for each of the framework properties. Finally, the paper will draw attention to the reusability of the framework by presenting its structure from a meta-perspective and indicates that it can be used to evaluate any qualitative research method in any context.
Initial Experiences of Using Grounded Theory Research in Computer Programming Education
Abstract. This paper presents to the reader the issues encountered to date 1 on a grounded theory study conducted in the area of computer programming education. In this regard, it presents a list of factors namely, underlying issues, methodological clarity and context that are viewed as critical considerations whilst undertaking qualitative research. Furthermore, each of these factors are discussed in detail in terms of how they impinged on the research conducted thus far. This discussion not only highlights the extent to which they impinge on the research but will also show that they are interlinked. Finally, given the many overlaps between grounded theory and other qualitative research methods, it will be suggested that the factors uncovered in this research may be applicable to other qualitative methods and it is hoped that these may be helpful for prospective qualitative researchers embarking on similar types of projects. 1
Learning computer programming in Irish third-level institutions : a study of first year students' experiences
Over the last three decades there has been a significant amount of research conducted in the area of novice computer programming. Within the Irish context however, there has been limited amount of research in this area with the vast majority of studies conducted being quantitative in nature. Given the fact that Ireland is becoming hugely dependent on its knowledge economy, the attrition and non-completion rates in computer science reported in both Irish and international studies is becoming a cause for concern. In this study, the actual experiences of Irish novice programming students are presented in the form of a theory and the implications of this theory for the teaching and learning of the subject are discussed. This thesis presents findings from research conducted across four Irish higher education institutes with 31 participants studying first year computer programming as part of a formal course in computing. Data collection and analysis was conducted using the Strauss and Corbin (1988) variation of the Grounded Theory methodology. This model was chosen based on its suitability for inductive theory generation and learner type categorisation. The outcome of this study is a twofold. Firstly, it generates a grounded theory containing the major phenomena experienced by first year programming students. Secondly, it uses this theory to identify a number of novice programming learner types presented in the form of a learning continuum. This thesis analyses the various phenomena experienced by students as they progress through a programming syllabus and how the challenge posed by the subject may affect them in both positive and negative ways
Business Modelling to Support the Development of Integrated Process Support Systems in the Extended Enterprise
Recent
years have witnessed rapid advances in the areas of Business Process
Reengineering(BPR) and Software Engineering. In order for BPR to work,
successful deployment of Information Technology is imperative, with the lack of
adequate IT support being cited as the single largest impediment in BPR
projects. Furthermore, new business concepts such as extended enterprises and
agile enterprises which build upon basic BPR call for even more complex
software support in an ever-changing global business environment. This paper addresses
these problems and proposes a framework which supports the design and
development of information systems which support business processes in the
extended enterprise.Not peer reviewe